package com.zziq.cloudpicturebank.api.imagesearch.so.sub;

import com.zziq.cloudpicturebank.api.imagesearch.so.model.SoImageSearchResult;
import lombok.extern.slf4j.Slf4j;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 360搜图图片搜索接口
 * <p>
 * 这里用了 门面模式
 */
@Slf4j
public class SoImageSearchApiFacade {
	/**
	 * 搜索图片
	 *
	 * @param imageUrl 需要以图搜图的图片地址
	 * @param start    开始下表
	 * @return 图片搜索结果列表
	 */
	public static List<SoImageSearchResult> searchImage(String imageUrl, Integer start,List<String> soImageUrl) {
		//判断是否已经获得图片在360搜图服务器的图片地址
		if (soImageUrl.isEmpty()){
			//得到图片存储在360搜图服务器的图片地址
			String soImageUrlIn360 = GetSoImageUrlApi.getSoImageUrl(imageUrl);
			//添加到集合中
			soImageUrl.add(soImageUrlIn360);
		}
		//根据图片地址搜索图片
		List<SoImageSearchResult> imageList = GetSoImageListApi.getImageList(soImageUrl.get(0), start);
		return imageList;
	}

	public static void main(String[] args) {
		// 测试以图搜图功能
		String imageUrl = "https://baolong-picture-1259638363.cos.ap-shanghai.myqcloud.com//public/10000000/2025-02-15_lzn23PuxZqt8CPB1.";
		List<SoImageSearchResult> resultList = searchImage(imageUrl, 0,new ArrayList<>());
		System.out.println("结果列表" + resultList);
	}
}
